# -*- coding：utf-8 -*-
"""
@Time:2024-08-1522:14
@Auth:泛彼泊舟
@File:5、while循环.py
@IDE:PyCharm
@模块功能：xxx
"""
"""
使用while关键字构建循环体
作用：代码需要进行重复执行的时候，可以通过循环体，重复执行的代码放到循环体中
例子：随机生成3个1-5之间的数字放到列表中
"""
# 随机生成3个1-5之间的数字放到列表中
import random
list1 = []
# 正常添加步骤
num = random.randint(1,5)
list1.append(num)
# 上诉添加1次随机数，后面还要继续2次
num = random.randint(1,5)
list1.append(num)
num = random.randint(1,5)
list1.append(num)
# 以上三次手动还好，但次数达到100次，1000次就太累了。。

# 使用循环来执行重复的代码，减少代码量
"""
while循环的语法：
i = 1 # 设置循环计算变量
while 条件(布尔表达式):
    循环体
"""
# 清空列表
list1.clear()
# 使用while循环实现随机生成10个1-5之间的数字放到列表中
i = 1 # 循环计数变量
while i < 11:
    # 需要重复执行的代码
    list1.append(random.randint(1,5))
    # 将循环计数的变量持续累加
    i += 1
print(list1)

"""
总结：
1、while循环和if语句类型，区别在于if条件成立只会执行一次代码块，while条件一旦成立就一直执行，直到条件
不成立为止
2、一般情况下，需要重复执行的代码，可以写在循环体中，通过循环变量计数控制执行次数
循环构造的核心就是为了提高代码重复使用率
3、如果条件一直成立，那么会陷入死循环，也有对应的使用场景
4、实现用户无限次数输入对应节日或日期输出对应的结果

再来一个输入日期或对应的节日名字，输出对应节日活动
"""
while True:
    day = input("请输入对应的节日名字或者日期：(比如:1月1号)")

    if day == "元旦节" or day == "1月1号":
        print("参加跨年活动，放烟花")
    elif day == "春节" or day == "1月28号":
        print("吃年夜饭，看春晚")
    elif day == "端午节" or day == "6月10号":
        print("吃粽子，划龙舟")
    elif day == "劳动节" or day == "5月1号":
        print("海南三亚3日游")
    else:
        print("您输入的节日后者日期不在计划之内")

# 上诉没有设置循环计数和结束循环的语句，是一个死循环